package cn.bigcontainer.alt.meta.service;

import java.util.List;
import java.util.Map;

import cn.bigcontainer.alt.meta.dto.MDictionaryDto;

public interface MDictionaryService {

	List<MDictionaryDto> getDictionaries(String type);
	
	MDictionaryDto getDictionary (String type, String value);

	/**
	 * 根据数据字典的名称获取值
	 * @param type 数据字典类型
	 * @param values 数据字典值，多个以逗号隔开
	 * @return
	 */
	String getDictionaryName (String type, String values);

	/**
	 * 根据数据字典的名称获取值
	 * @param type 数据字典类型
	 * @param names 数据字典名称，多个以逗号隔开
	 * @return
	 */
	String getDictionaryValue (String type, String names);

	/**
	 * 获取类型为system的数据字典值
	 * @param names 数据字典名称，多个以逗号隔开
	 * @return
	 */
	String getSystemValue (String names);

	/**
	 * 获取类型为system的数据字典值
	 * @param names 数据字典名称，多个以逗号隔开
	 * @return
	 */
	Long getSystemLongValue(String names, Long defaultValue);

	void createOrReplaceDictionaries(Map<String, String> keyValues, String type, String typeName);
}
